最近找了兩位同學線上組團,三人開班,準備玩簡單的智慧合約開發(學 hydai 海帶學長開始講「智慧合約」)。一位是喜歡日本獨立搖滾樂又很會玩 web3 的遊戲的黃金獵犬同學,另一位對密碼學零知識證明有點研究的柴犬同學,則是近期已經有在學校上過一次和「智慧合約開發」相關的課程,想另外自己進行複習和加強概念理解的活動(現在資訊所的學生都這麼認真的嗎)。前天還找了一位線上隨時可問問題的合約開發先輩哈士奇老師。叫老師哈士奇,因為老師四年前還是五年前,曾經有個可能算是開源的專案的名字叫哈士奇,後來那個專案不知道怎麼了,就這樣走了。不過,在我心中還沒死去,所以私下稱老師哈士奇。
好高興合約開發特訓班上週已確認開班。這週剛好在 X 社群媒體平台上閒逛看到有位法律系轉後端開發的工程師正如火如荼的跑 iThome 鐵人賽,想說可以順便參加,視為撰寫合約開發體驗的機會。第一次參加,只求平安完賽。感謝 2024 iThome 鐵人賽到了九月十幾號的這個時間點,竟然還來得及報名。
合約開發特訓班預計要學什麼?因為這個合約開發特訓班線上自學團是我發起的,其實就是九月初,那時有大概想了幾個可能可以學的主題。最大的挑戰有可能會是理解智慧合約怎麼互動,Solidity 語法上的基本掌握,了解合約的程式和比較常見的 JavaScript 程式開發有什麼不同的地方。同時參考 hydai 海帶老師的教材(https://solidity.tw/) 。他在前年花很多力氣,錄製一系列的智慧合約開發的教學影片發在 YouTube 上。播放清單叫「在 2022 年,我們該如何寫智能合約」。
開班前,九月六號曾經在 X 平台上問過海帶學長,在 2024 年,會建議今年的新同學怎麼學智慧合約。學長的回覆是,他暫時沒考慮翻新合約的課程。「不過,以過往的影片觀看數字來說,或許大家已經不需要如此入門的學習資料了。」學長都這麼說了,也沒辦法,只好回頭打開 2022 年的合約開發教學影片重播。之前沒有認真細看的程式碼講解與操作,這回真的要跟著學長的指示走一遍了。
在網路上閒晃,邊想著這個學習內容的同時,居然看到 gasolin 學長之前寫的一整個可說是「教科書或課本等級」的內容:(https://gasolin.gitbooks.io/learn-ethereum-dapp/content/what-is-smart-contract.html),其中有段提到「智能合約和一般程式的差異」也可參考。
為了合約開發特訓班想的幾個主題:
智慧合約開發基本流程
開發環境建置
Remix IDE 介面與使用
ERC20 合約標準程式碼解析
ERC721 合約標準程式碼解析
Foundry 開發框架使用
DIY 部署合約
Solidity 合約程式和一般的 JavaScript 程式開發有何不同